package com.tz.system.user.service;

import java.util.List;
import java.util.Map;

import com.tz.platform.service.common.CommonService;
import com.tz.system.user.model.TMgtUser;

public interface TMgtUserService extends CommonService {
	/**
	 * 根据机构号和角色获取用户
	 * @param instCode
	 * @param roleCode
	 * @return
	 */
	public List<TMgtUser> queryUserByInstCodeAndRoleCode(String instCode,String roleCode);
	
	/**
	 * 根据ID删除信息
	 * @param id
	 */
	public Map<String,Object> removeById(Integer id);

	/**
	 * 增加保存信息
	 * @param area
	 */
	public Map<String,Object> addSave(TMgtUser entity);

	/**
	 * 更新保存信息
	 * @param area
	 */
	public Map<String,Object> updateSave(TMgtUser entity);
	
	/**
	 * 更新保存信息
	 * @param area
	 */
	public void updateSaveRole(TMgtUser entity,String roleCode);

	/**
	 * @param id ，机构主键
	 */
	public TMgtUser queryById(Integer id);

	/**
	 * 根据用户ID查询用户
	 */
	public TMgtUser queryByUserId(String userId);
	
	/**
	 * 根据用户ID查询用户有权限的用户
	 */
	public TMgtUser queryValidUserByUserId(String userId);

	/**
	 * 查询所有用户
	 */
	public List<TMgtUser> queryAll();
	
	/**
	 * 查询所有有效的用户信息
	 * @return
	 */
	public List<TMgtUser> queryAllValidUser();


	/**
	 * 修改用户密码
	 * @param userId
	 * @param oldPasswd
	 * @param newPasswd
	 */
	public Map<String, Object> updatePasswd(String userId, String oldPasswd, String newPasswd);

	/**
	 * 
	 * toResetPassWord:(充值密码的要求). 
	 *
	 * @author changhz
	 * @return
	 */
	public String toResetPassWord();
	
	/**
	 * 重置用户密码
	 * @param id
	 */
	public Map<String, Object> resetPasswordById(Integer id);

	/**
	 * 判断用户ID是否合法
	 * @param userId 用户Id
	 * @return boolean 用户Id是否合法
	 * @throws
	 */
	public boolean isUserIdSafe(TMgtUser user);


	
}
